using System;

namespace CUtil
{
	/// <summary>
	/// 
	/// </summary>
	//public delegate void ChangedEventHandler(object sender,EventArgs e);

	/// <summary>
	/// 
	/// </summary>
	public delegate void TickEvent(object sender, TickEventArgs e);

    public delegate void ObjectChangedEvent(object sender, ObjectChangedEventArgs e);

    public class ObjectChangedEventArgs : EventArgs
    {

        string propertyName;
        object sender;
        object newValue;
        object oldValue;

        public ObjectChangedEventArgs(object mySender, string propName, object myOldVal, object myNewVal)
        {
            this.propertyName = propName;
            this.sender = mySender;
            this.oldValue = myOldVal;
            this.newValue = myNewVal;

        }


        public string PropertyName
        {
            get
            {
                return this.propertyName;
            }
            set
            {
                this.propertyName = value;
            }
        }
        public object Sender
        {
            get
            {
                return this.sender;
            }
            set
            {
                this.sender = value;
            }
        }
        public object OldValue
        {
            get
            {
                return this.oldValue;
            }
            set
            {
                this.oldValue = value;
            }
        }
        public object NewValue
        {
            get
            {
                return this.newValue;
            }
            set
            {
                this.newValue = value;
            }
        }
    }
	public class TickEventArgs: EventArgs
	{
		
		int wkn;
		int tickType;
		object val;

		public TickEventArgs(int WKN, int tickType ,object val)
		{
			this.wkn = WKN;
			this.tickType = tickType;
			this.val = val;
			
			
		}
		

		public int WKN
		{
			get
			{
				return this.wkn;
			}
			set
			{
				this.wkn = value;
			}
		}
		public int TickType
		{
			get
			{
				return this.tickType;
			}
			set
			{
				this.tickType = value;
			}
		}
		public object Val
		{
			get
			{
				return this.val;
			}
			set
			{
				this.val = value;
			}
		}
	
	}
}
